package ve.socket;

import java.io.File;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import ve.socket.Transmisor;
import ve.socket.Cola;

import android.util.Log;


public class listarDirectorio extends Thread {

	private static final String TAG = "HILO";

	private File currentDirectory;
	public static boolean stop = false;

	listarDirectorio(File directory) {
		super("Directory Scanner");
		currentDirectory = directory;

	}

	public static void Stop(){
		stop = true;
	}

	public void run() {
		Log.v(TAG, "Escaneando directorio " + currentDirectory);

		File[] files = null;
		List<String> listFile = null;
		Iterator <String> iterador = null;
		String arch = null;
		int totalCount = 0;


		while (!stop){

			files = currentDirectory.listFiles();

			if (files == null) {
				Log.v(TAG, "Retorno null - directorio inaccesible?");
				totalCount = 0;
			} else {
				totalCount = files.length;
			}

			Log.v(TAG, "Numero de archivos = " + totalCount);

			listFile = new ArrayList<String>(totalCount);

			if (files != null) {

				for (File currentFile : files){ 

					arch = currentFile.getName();

					//	if (!listFile.contains(arch)){
					Log.v(TAG, "Archivo: " + arch);

					listFile.add(arch);
					//}
				}
			}

			Log.v(TAG, "Ordenamos la lista...");

			Collections.sort(listFile); 
			iterador = listFile.iterator();

			//Cada vez que iteramos sobre un directorio encolamos todo de nuevo
			enviarArchivo.listaArchivos = new Cola<String>();

			while (iterador.hasNext()){
	
				Cola col = new Cola<String> ();
				arch = iterador.next();
				System.out.println(arch +" y " +enviarArchivo.listaArchivos.getSize());

				(enviarArchivo.listaArchivos).encolar(arch);
			
			}
		}
	}

}